package tech.yangzhijie.basic.demo02.mianshi;

import org.junit.Test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class MianShi01 {

    /** 测试finally在return会不会执行 */
    /*
     *  测试finally在return中的结果
     *  try中的return不会被执行 finally被执行
     *  try中的System.exit(0)执行 finally不会被执行
     *
     *  只有4中情形finally不会执行 前面代码出现return都不会阻止finally执行
     *  1 finally中出现异常
     *  2 前面代码出现System.exit();
     *  3 该程序处在的线程死亡
     *  4 关闭CPU
     */
    @Test
    public void method01(){

        try {
            int i = 1/1;
            return;
        }catch (Exception e){
            e.printStackTrace();
            System.exit(0);
        }finally {
            System.out.println("finally被执行");
        }
    }

    /**
     *  获取键盘输入的两种方法
     *  1 Scanner scanner = new Scanner(System.in);
     *  2 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
     */

    public static void main(String[] args) {
        try {
            method02();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void method02() throws IOException {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        System.out.println(s);

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        s = bufferedReader.readLine();
        System.out.println(s);

        scanner.close();
        bufferedReader.close();
    }
}
